Localization এবং Globalization হলো দুটি গুরুত্বপূর্ণ ধারণা যা বিভিন্ন ভাষা এবং সংস্কৃতির জন্য অ্যাপ্লিকেশন কাস্টমাইজ করার জন্য ব্যবহৃত হয়। ASP.NET Core-এ Localization এবং Globalization ব্যবহার করে, আপনি আপনার অ্যাপ্লিকেশনকে বিশ্বের বিভিন্ন অঞ্চলের ভাষা, সময়, সংখ্যা এবং মুদ্রার ফর্ম্যাট অনুযায়ী কাস্টমাইজ করতে পারবেন।
ASP.NET Core-এ Localization এবং Globalization কনফিগার করার মাধ্যমে, আপনি ব্যবহারকারীর ভাষা এবং অঞ্চলের উপর ভিত্তি করে একটি ব্যক্তিগতকৃত অভিজ্ঞতা প্রদান করতে পারবেন।
ASP.NET Core অ্যাপ্লিকেশনে Localization এবং Globalization কনফিগার করার জন্য কিছু নির্দিষ্ট ধাপ অনুসরণ করতে হয়। এগুলো অন্তর্ভুক্ত করে:
সার্ভিস কনফিগারেশন: প্রথমে আপনাকে অ্যাপ্লিকেশনে Localization এর জন্য সার্ভিস কনফিগার করতে হবে। Startup.cs
ফাইলে ConfigureServices
মেথডে Localization সার্ভিস যোগ করুন।
public void ConfigureServices(IServiceCollection services)
{
services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddMvc()
.AddDataAnnotationsLocalization()
.AddViewLocalization();
}
কনফিগারেশন এঞ্জিন সেটআপ: ASP.NET Core অ্যাপ্লিকেশনটিকে ব্যবহারকারীর বর্তমান ভাষা বা অঞ্চল নির্ধারণের জন্য একটি Request Localization Middleware সেটআপ করতে হবে। এটি সাধারণত Configure
মেথডে করা হয়।
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
var supportedCultures = new[] { "en-US", "fr-FR", "es-ES" };
var localizationOptions = new RequestLocalizationOptions()
.SetDefaultCulture("en-US")
.AddSupportedCultures(supportedCultures)
.AddSupportedUICultures(supportedCultures);
app.UseRequestLocalization(localizationOptions);
app.UseMvc();
}
এখানে, supportedCultures
অ্যারে এর মধ্যে আপনি যেসব ভাষা সাপোর্ট করতে চান সেগুলো উল্লেখ করবেন। SetDefaultCulture
মেথডে ডিফল্ট সংস্কৃতি বা ভাষা নির্ধারণ করা হয়, এবং AddSupportedCultures
দ্বারা যে সংস্কৃতিগুলি সমর্থিত তা যোগ করা হয়।
রিসোর্স ফাইল তৈরি করা: Localization এর জন্য, আপনাকে নির্দিষ্ট ভাষায় রিসোর্স ফাইল তৈরি করতে হবে। এটি সাধারণত .resx
(Resources) ফাইল ফরম্যাটে করা হয়। প্রতিটি ভাষার জন্য আলাদা .resx
ফাইল থাকবে। উদাহরণস্বরূপ:
Resources/Views/Home/Index.en-US.resx
(English)Resources/Views/Home/Index.fr-FR.resx
(French)Resources/Views/Home/Index.es-ES.resx
(Spanish)এই রিসোর্স ফাইলগুলিতে আপনি অ্যাপ্লিকেশনের UI কন্টেন্ট, বার্তা, টেক্সট ইত্যাদি ভাষা ভিত্তিক কনফিগার করতে পারেন।
উদাহরণ: Index.en-US.resx
<data name="Greeting" xml:space="preserve">
<value>Hello, Welcome!</value>
</data>
Index.fr-FR.resx
<data name="Greeting" xml:space="preserve">
<value>Bonjour, bienvenue!</value>
</data>
ভাষার উপর ভিত্তি করে কনটেন্ট দেখানো: Localization এবং Globalization কনফিগার করার পরে, আপনি ভাষা অনুযায়ী কনটেন্ট প্রদর্শন করতে পারবেন। এর জন্য IStringLocalizer
অথবা IHtmlLocalizer
ইন্টারফেস ব্যবহার করতে হবে।
Controller এ Localization ব্যবহার:
public class HomeController : Controller
{
private readonly IStringLocalizer<HomeController> _localizer;
public HomeController(IStringLocalizer<HomeController> localizer)
{
_localizer = localizer;
}
public IActionResult Index()
{
var greeting = _localizer["Greeting"];
return View("Index", greeting);
}
}
View-এ Localization ব্যবহার:
<h1>@Localizer["Greeting"]</h1>
Globalization কনফিগারেশন কেবল ভাষার নয়, বরং অন্যান্য অঞ্চলের সংস্কৃতির উপরও নির্ভর করে। যেমন, তারিখ, সময়, সংখ্যা এবং মুদ্রা ফরম্যাট একটি নির্দিষ্ট সংস্কৃতি অনুযায়ী প্রদর্শিত হতে পারে।
Globalization Configuration: আপনি চাইলে অ্যাপ্লিকেশনটিকে একটি নির্দিষ্ট সংস্কৃতির জন্য কনফিগার করতে পারেন, যেমন তারিখের ফরম্যাট:
var cultureInfo = new CultureInfo("en-US");
CultureInfo.CurrentCulture = cultureInfo;
CultureInfo.CurrentUICulture = cultureInfo;
ডেটা ফরম্যাটিং: Globalization এর মাধ্যমে নির্দিষ্ট সংস্কৃতির ভিত্তিতে সংখ্যা বা সময় ফরম্যাট করতে পারেন।
উদাহরণ:
var amount = 1234.56;
var formattedAmount = amount.ToString("C", new CultureInfo("en-US")); // $1,234.56
এখানে, মুদ্রার ফরম্যাট “$” মার্কিন মুদ্রার চিহ্ন অনুসারে হবে।
₹
ভারতের জন্য, $
মার্কিন যুক্তরাষ্ট্রের জন্য)।Localization এবং Globalization কনফিগার করার মাধ্যমে আপনি আপনার ASP.NET Core অ্যাপ্লিকেশনকে বিশ্বব্যাপী ব্যবহারকারীদের জন্য আরও উপযোগী এবং বন্ধুত্বপূর্ণ করে তুলতে পারবেন। এটি আন্তর্জাতিক স্তরে একটি অ্যাপ্লিকেশনকে সফলভাবে প্রবর্তন করার জন্য একটি অপরিহার্য উপায়।
common.read_more